package com.tabjin.rfidsocket.mapper.mapper;

import com.tabjin.rfidsocket.pojo.vo.SysAclModuleVO;
import com.tabjin.rfidsocket.pojo.vo.SysAclVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysAclModuleCustomMapper {
    /**
     * 获取子权限模块
     *
     * @param level 子权限模块level
     * @return
     */
    List<SysAclModuleVO> getChildSysAclModuleByLevel(@Param("level") String level);

    /**
     * 批量更新level
     *
     * @param sysAclModuleVOList 权限模块列表
     */
    void batchUpdateLevel(@Param("sysAclModuleList") List<SysAclModuleVO> sysAclModuleVOList);

    /**
     * 判断数据是否重复
     *
     * @param parentId 父级id
     * @param name     权限模块名称
     * @param id       权限模块id
     * @return
     */
    Integer countByNameAndParentId(@Param("parentId") Integer parentId,
                                   @Param("name") String name,
                                   @Param("id") Integer id);

    /**
     * 子权限模块数量
     *
     * @param parentId
     * @return
     */
    Integer countByParentId(@Param(value = "parentId") Integer parentId);
}